http://dev.mysql.com/downloads/mysql/
http://pan.baidu.com/s/1pLf6B7X#path=%252Fmysql
[/magic] [slide]
##mac安装
先安装 homebrew
http://brew.sh/
安装mysql
brew install mysql
[slide]
[magic]
[slide]
##windows停止启动mysql
##1. 通过服务界面启动
net stop mysql 停止mysql
net start mysql 启动mysql
[/magic]
[slide]
##mac停止启动mysql
service stop mysql 停止mysql service start mysql 启动mysql
[slide]
##mysql登录
使用root
用户以123456
密码登陆本机上的mysql
服务器
mysql -uroot -p123456 -h127.0.0.1 登录
//如果你想允许用户root从ip为192.168.1.3的主机连接到mysql服务器,访问studb数据库的所有表,并使用123456作为密码
GRANT ALL PRIVILEGES ON studb.* TO 'root'@'192.168.1.3' IDENTIFIED BY '123456' WITH GRANT OPTION;
//如果想远程访问需要打开 /etc/mysql/my.cnf 注释掉 #bind-address = 127.0.0.1
命令 | 参数 | 描述 |
---|---|---|
mysql | -u | 用户名 |
mysql | -p | 密码 |
mysql | -h | 指定服务器的IP |
mysql | -V | 输出版本号并退出 |
[slide]
##mysql退出
exit;
quit;
\q
[slide]
#mysql语句规范
[slide]
#数据库语句 |功能|语句|示例| |:----|:----|:----| |创建数据库|CREATE DATABASE db_name CHARACTER SET charname |create database studb CHARACTER SET utf8| |查看当前数据库|SHOW DATABASES|show databases| |删除数据库|DROP DATABASE db_name|drop database studb|
[slide]
#数据类型
数据类型 | 说明 |
---|---|
INT | 整数 |
FLOAT | 浮点数 |
DATETIME | 日期日期型 |
DATE | 日期日期型 |
CHAR(M) | 定长字符类型 |
VARCHAR(M) | 不定长字符类型 |
[slide]
#数据表操作
功能 | 语句 | 示例 |
---|---|---|
打开数据库 | USE db_name | use studb |
创建表 | CREATE TABLE table_name(column_name data_type,...) | CREATE TABLE student(id int identify,name varchar(20),age int) |
查看数据表 | SHOW TABLES | show tables |
查看表结构 | SHOW COLUMNS FROM tbl_name | show columns from student |
[slide]
功能 | 语句 | 示例 |
---|---|---|
插入记录 | INSERT INTO tbl_name[(col_names...)] values (val...) | insert into student(name,age) values('张静',18) |
查询记录 | SELECT expr... FROM tbl_name | select * from student |
[slide]
语法 | 说明 | |
---|---|---|
AUTO_INCREMENT | 自动递增 | 自动编号,且必须与主键组合使用,数据类型,起始值为1,每次增量为1 |
PRIMARY KEY | 主键约束 | 每张表只能存在一个主键,主键保证记录的唯一性,主键自动为NOT NULL |
FOREIGN KEY | 外键约束 | 保持数据一致性,实现一对一或一对多的关系 |
[slide]
功能 | 语句 | 示例 |
---|---|---|
插入记录 | INSERT INTO tbl_name[(col_names...)] values (val...) | insert into student(name,age) values('张静',18) |
更新记录 | UPDATE tbl_name SET col_name1=expr1,col_name2=exp2 WHERE where_condition | update student where age = age+1 |
删除记录 | DELETE tbl_name where where_condition | delete from student where age < 20 |
[slide]
#SELECT查询
SELECT select_expr 查询表达式,列以英文逗号分隔,星号表示所有列
[
FROM tbl_name 要查询的表
WHERE where_condition 条件表达式,对记录进行过滤,如果不指定WHERE则查询所有记录
GROUP BY col_name [ASC|DESC] 以哪列作为分组
HAVING group_condition 对分组后的结果进行过滤
ORDER BY col_name [ASC|DESC] 按哪些列进行排序
LIMIT offset,row_count 从哪条开始查询,查询多少条
]
[slide]
#数据准备
##学生表
id | name |
---|---|
1 | 张三 |
2 | 李四 |
##课程表
id | name |
---|---|
1 | 语文 |
2 | 数学 |
3 | 英语 |
##成绩表
cid | sid | score |
---|---|---|
1 | 1 | 70 |
1 | 2 | 70 |
1 | 3 | 70 |
2 | 1 | 80 |
2 | 2 | 80 |
2 | 3 | 80 |
[slide]
##练习题